home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / MacTCP.idl < prev    next >
Text File  |  1996-05-01  |  7KB  |  209 lines

  1. /*
  2.      File:        MacTCP.idl
  3.  
  4.      Contains:    TCP Manager Interfaces.
  5.  
  6.      Version:    Technology:    MacTCP 2.0.6
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __MACTCP_IDL__
  19. #define __MACTCP_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __MIXEDMODE_IDL__
  28. #include <MixedMode.idl>
  29. #endif
  30. #ifndef __APPLETALK_IDL__
  31. #include <AppleTalk.idl>
  32. #endif
  33.  
  34. #ifdef __SOMIDL__
  35.  
  36. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  37. /*
  38. Developer Notes:
  39.         0. This MacTCP header replaces what used to be defined in the following header files
  40.             MacTCPCommonTypes.h
  41.             GetMyIPAddr.h
  42.             MiscIPPB.h
  43.             TCPPB.h
  44.             UDPPB.h 
  45.             
  46.             When the various control calls are made to the ip driver, you must set up a 
  47.             NewRoutineDescriptor for every non-nil completion routine and/or notifyProc parameter.  
  48.             Otherwise, the 68K driver code, will not correctly call your routine.
  49.         1. For ipctlGetAddr Control calls, use NewGetIPIOCompletionProc
  50.             to set up a GetIPIOCompletionUPP universal procptr to pass as
  51.             the ioCompletion parameter.
  52.         2. For the ipctlEchoICMP and ipctlLAPStats Control calls, use 
  53.             NewIPIOCompletion to set up a IPIOCompletionUPP universal procptr
  54.             to pass in the ioCompletion field of the parameter block.
  55.         3. For TCPCreatePB Control calls, use NewTCPNotifyProc to set up a
  56.             TCPNotifyUPP universal procptr to pass in the notifyProc field
  57.             of the parameter block
  58.         4. For all of the TCP Control calls using the TCPiopb parameter block,
  59.             use NewTCPIOCompletionProc to set up a TCPIOCompletionUPP
  60.             universal procptr to pass in the ioCompletion field of the paramter
  61.             block.
  62.         5. For UDBCreatePB Control calls, use NewUDPNotifyProc to set up a
  63.             UDPNotifyUPP universal procptr to pass in the notifyProc field
  64.             of the parameter block
  65.         6. For all of the UDP Control calls using the UDPiopb parameter block,
  66.             use NewUDPIOCompletionProc to set up a UDPIOCompletionUPP
  67.             universal procptr to pass in the ioCompletion field of the paramter
  68.             block.
  69.         7. For all calls implementing a notifyProc or ioCompletion routine
  70.             which was set up using a NewTCPRoutineProc call, do not call
  71.             DisposeRoutineSDescriptor on the universal procptr until
  72.             after the completion or notify proc has completed.
  73. */
  74. /* MacTCP return Codes in the range -23000 through -23049 */
  75. /* Error codes from internal IP functions */
  76. /* 8-bit quantity */
  77. typedef UInt8                    b_8;
  78.  
  79. /* 16-bit quantity */
  80. typedef UInt16                    b_16;
  81.  
  82. /* 32-bit quantity */
  83. typedef UInt32                    b_32;
  84.  
  85. /* IP address is 32-bits */
  86. typedef b_32                    ip_addr;
  87.  
  88. typedef SOMLargeStruct            ip_addrbytes;                /* Derived from a struct of 8 bytes in size */
  89.  
  90. typedef SOMLargeStruct            wdsEntry;                    /* Derived from a struct of 6 bytes in size */
  91.  
  92. typedef SOMLargeStruct            rdsEntry;                    /* Derived from a struct of 6 bytes in size */
  93.  
  94. typedef unsigned long            BufferPtr;
  95.  
  96. typedef unsigned long            StreamPtr;
  97.  
  98. typedef unsigned short            ICMPMsgType;
  99.  
  100. typedef b_16                    ip_port;
  101.  
  102. typedef SOMLargeStruct            ICMPReport;                    /* Derived from a struct of 24 bytes in size */
  103.  
  104. /* csCode to get our IP address */
  105.  
  106.  
  107. typedef OpaquePtr GetIPIOCompletionProcPtr;
  108. typedef OpaquePtr GetIPIOCompletionUPP;
  109. typedef SOMLargeStruct            GetAddrParamBlock;            /* Derived from a struct of 36 bytes in size */
  110.  
  111. /* control codes */
  112.  
  113.  
  114. typedef OpaquePtr IPIOCompletionProcPtr;
  115. typedef OpaquePtr IPIOCompletionUPP;
  116. typedef SOMLargeStruct            ICMPParamBlock;                /* Derived from a struct of 72 bytes in size */
  117.  
  118. typedef OpaquePtr ICMPEchoNotifyProcPtr;
  119. typedef OpaquePtr ICMPEchoNotifyUPP;
  120.  
  121.  
  122. typedef SOMLargeStruct            IPParamBlock;                /* Derived from a struct of 58 bytes in size */
  123.  
  124. typedef SOMLargeStruct            nbp_entry;                    /* Derived from a struct of 136 bytes in size */
  125.  
  126. typedef SOMLargeStruct            Enet_addr;                    /* Derived from a struct of 6 bytes in size */
  127.  
  128. typedef SOMLargeStruct            arp_entry;                    /* Derived from a struct of 14 bytes in size */
  129.  
  130. typedef SOMLargeStruct            LAPStatsAddrXlation;        /* Derived from a struct of 8 bytes in size */
  131.  
  132. typedef SOMLargeStruct            LAPStats;                    /* Derived from a struct of 24 bytes in size */
  133.  
  134. /* number of ARP table entries */
  135. /* Command codes */
  136. typedef unsigned short            TCPEventCode;
  137.  
  138. typedef unsigned short            TCPTerminationReason;
  139.  
  140. typedef OpaquePtr TCPNotifyProcPtr;
  141. typedef OpaquePtr TCPNotifyUPP;
  142. typedef unsigned short            tcp_port;
  143.  
  144. /* ValidityFlags */
  145. /* TOSFlags */
  146. typedef SOMLargeStruct            TCPCreatePB;                /* Derived from a struct of 16 bytes in size */
  147.  
  148. typedef SOMLargeStruct            TCPOpenPB;                    /* Derived from a struct of 66 bytes in size */
  149.  
  150. typedef SOMLargeStruct            TCPSendPB;                    /* Derived from a struct of 20 bytes in size */
  151.  
  152. /* for receive and return rcv buff calls */
  153. /*   Note: the filler in the following structure is in a different location than */
  154. /*         that specified in the Programmer's Guide.  */
  155. typedef SOMLargeStruct            TCPReceivePB;                /* Derived from a struct of 22 bytes in size */
  156.  
  157. typedef SOMLargeStruct            TCPClosePB;                    /* Derived from a struct of 8 bytes in size */
  158.  
  159. typedef SOMLargeStruct            HistoBucket;                /* Derived from a struct of 6 bytes in size */
  160.  
  161. typedef SOMLargeStruct            TCPConnectionStats;            /* Derived from a struct of 86 bytes in size */
  162.  
  163. typedef SOMLargeStruct            TCPStatusPB;                /* Derived from a struct of 70 bytes in size */
  164.  
  165. typedef SOMFourByteStruct        TCPAbortPB;                    /* Derived from a struct of 4 bytes in size */
  166.  
  167. typedef SOMLargeStruct            TCPParam;                    /* Derived from a struct of 24 bytes in size */
  168.  
  169. typedef SOMLargeStruct            TCPStats;                    /* Derived from a struct of 52 bytes in size */
  170.  
  171. typedef OpaquePtr                StreamPPtr;                    /* Substituted OpaquePtr for ``StreamPtr*'' */
  172.  
  173. typedef SOMLargeStruct            TCPGlobalInfoPB;            /* Derived from a struct of 18 bytes in size */
  174.  
  175.  
  176.  
  177. typedef OpaquePtr TCPIOCompletionProcPtr;
  178. typedef OpaquePtr TCPIOCompletionUPP;
  179. typedef SOMLargeStruct            TCPiopb;                    /* Derived from a struct of 256 bytes in size */
  180.  
  181. typedef unsigned short            UDPEventCode;
  182.  
  183. typedef OpaquePtr UDPNotifyProcPtr;
  184. typedef OpaquePtr UDPNotifyUPP;
  185. typedef unsigned short            udp_port;
  186.  
  187. /* for create and release calls */
  188. typedef SOMLargeStruct            UDPCreatePB;                /* Derived from a struct of 20 bytes in size */
  189.  
  190. typedef SOMLargeStruct            UDPSendPB;                    /* Derived from a struct of 22 bytes in size */
  191.  
  192. /* for receive and buffer return calls */
  193. typedef SOMLargeStruct            UDPReceivePB;                /* Derived from a struct of 26 bytes in size */
  194.  
  195. typedef SOMLargeStruct            UDPMTUPB;                    /* Derived from a struct of 10 bytes in size */
  196.  
  197.  
  198.  
  199. typedef OpaquePtr UDPIOCompletionProcPtr;
  200. typedef OpaquePtr UDPIOCompletionUPP;
  201. typedef SOMLargeStruct            UDPiopb;                    /* Derived from a struct of 110 bytes in size */
  202.  
  203. #endif
  204.  
  205. #endif /* __SOMIDL__ */
  206.  
  207. #endif /* __MACTCP_IDL__ */
  208.  
  209.